Refining rely-guarantee thinking

نویسندگان

  • Ian J. Hayes
  • Cliff B. Jones
  • Robert J. Colvin
چکیده

Reasoning about concurrent programs can be very difficult due to the possibility of interference. The fundamental insight of Rely-Guarantee thinking is that developing concurrent designs can only be made compositional if the development method offers ways to record and reason about the interference that is inherent in concurrency. The original presentation of rely-guarantee rules used keywords to mark the various predicates and even the read/write frames of operations. Subsequent papers have moved to a more general message of “rely-guarantee thinking” but retained this VDM flavour and have typically presented a development style in terms of inference rules based on Hoare-like triples, extended to quintuples to accommodate rely and guarantee conditions. Morgan’s refinement calculus presents concise rules that lend themselves to algebraic arguments. This paper reports on a complete reformulation of the key ideas of rely-guarantee reasoning in a refinement calculus style. As is shown, this indicates new useful and intuitive manipulations of rely/guarantee specifications. The approach makes use of two new commands: a guarantee command (guar g _ c) that behaves like the command c but also guarantees every atomic step satisfies the relation g, and a rely command (rely r _ c) that behaves like c provided any interference steps from the environment satisfy the relation r or stutter. Further notational developments result from the use of a more compact notation to indicate the read/write frame of a command. The new rules are justified with respect to an operational semantics presented in the Colvin style. © 2012 Newcastle University. Printed and published by Newcastle University, Computing Science, Claremont Tower, Claremont Road, Newcastle upon Tyne, NE1 7RU, England. Bibliographical details HAYES, I.J., JONES, C.B., COLVIN, R.J. Refining rely-guarantee thinking [By] I.J. Hayes, C.B. Jones, R.J. Colvin Newcastle upon Tyne: Newcastle University: Computing Science, 2012. (Newcastle University, Computing Science, Technical Report Series, No. CS-TR-1334)

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reasoning about concurrent programs : Refining rely - guarantee thinking

Interference is the essence of concurrency and it is what makes reasoning about concurrent programs difficult. The fundamental insight of rely-guarantee thinking is that stepwise design of concurrent programs can only be compositional in development methods that offer ways to record and reason about interference. In this way of thinking, a rely relation records assumptions about the behaviour o...

متن کامل

The Re-entrance Problem and Its Solution

In this paper we take a formal look at the nature of the re-entrance problem. We see the essence of the problem in a conflict between the assumptions components make about each other’s behavior. We argue that to ensure safe composability of mutually dependent components in an open system one needs to reason about them modularly. We propose an approach for extending component specifications with...

متن کامل

On Compositionality in Refining Concurrent Systems

Three different styles of refinement of concurrent systems are investigated. The methods differ in their degree of compositionality. The traditional method considers the refinement of complete systems, and therefore is totally noncompositional. The middle level one is called a modular method, with which one first verifies refinement of each component and then checks that the refinements are com...

متن کامل

Rely-Guarantee References for Refinement Types

Reasoning about side effects and aliasing is the heart of verifyingimperative programs. Unrestricted side effects through one refer-ence can invalidate assumptions about an alias. We present a newtype system approach to reasoning about safe assumptions in thepresence of aliasing and side effects, unifying ideas from referenceimmutability type systems and rely-guarantee progr...

متن کامل

Intuitive and logical way of thinking in the education of architectural design courses

Different approaches and methods are used in the architecture design process that logical and intuitional methods are the most common ones. The role of knowledge in each method is different.  Investigating aspects of knowledge demonstrated the hierarchy from data to wisdom and the interaction of explicit and tacit types, subjective and objective sources, and analytical and exploratory ways of p...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012